package com.mhc.suzuki.service;

import com.mhc.haval.security.model.User;
import com.mhc.suzuki.bo.CreditQueryApplyBO;
import com.mhc.suzuki.bo.CustomerBO;
import com.mhc.suzuki.exception.SuzukiCommonException;
import com.subaru.common.query.PageResult;

import java.io.IOException;
import java.util.List;

/**
 * 征信列表查询、征信结果录入、征信详情查询
 * Created by HMJ on 2017/8/19.
 */
public interface CreditSerivce {

    /**
     * 获取查询征信列表
     * @param creditQueryApplyBO
     * @param logedUser
     * @return
     * @throws SuzukiCommonException
     */
    PageResult<CreditQueryApplyBO> selectByCreidtList(CreditQueryApplyBO creditQueryApplyBO, User logedUser) throws SuzukiCommonException;

    /**
     * 根据订单号获取征信结果详情
     * @param orderNo
     * @return
     * @throws SuzukiCommonException
     */
    List<CreditQueryApplyBO> queryByCreidtInfo(String orderNo) throws SuzukiCommonException;

    /**
     * 征信结果录入
     * @param creditQueryApplyBO
     * @param logedUser
     * @return
     * @throws SuzukiCommonException
     * @throws IOException
     */
    Boolean saveCreditResult(CreditQueryApplyBO creditQueryApplyBO, User logedUser) throws SuzukiCommonException,IOException;

    /**
     * 征信修改
     * @param buyerBO
     * @param commonBuyerBO
     * @param sponsorList
     * @param logedUser
     * @return
     * @throws SuzukiCommonException
     * @throws IOException
     */
    Boolean updateCreditInfo(CustomerBO buyerBO, CustomerBO commonBuyerBO, List<CustomerBO> sponsorList, User logedUser) throws SuzukiCommonException,IOException;


}
